const fs = require('fs')

let ws = fs.createWriteStream('test2.txt',{
  flags: 'w',// 行为标识，默认 w 代表 写
  mode: 438,// 默认权限
  fd: null,// 文件描述符/文件标识，从3开始
  encoding:'utf-8',// 编码方式
  start:0,// 起始位置
  highWaterMark:3,// 水位线，默认16kb
})

// let buf = Buffer.from('abc')
// // 使用write消费数据
// // 这样会报错,传入参数必须是Buffer或Unit8Array
// // 这是文件可写流与Writeable类的一个差异
// ws.write(buf, ()=>{
//   console.log('ok2')
// })
// // TypeError [ERR_INVALID_ARG_TYPE]: The "chunk" argument must be of type string or an instance of Buffer or Uint8Array. Received type number (1)

// ws.write('世界和平', ()=>{
//   console.log('ok1')
// })

// open事件，执行时机为createWriteStream之后
// ws.on('open', (fd)=>{
//   console.log('open事件',fd)
// })

ws.write('1')

// close事件，与可写流不同，消费数据后不会被触发，需要数据写入执行完毕后执行
// ws.on('close', ()=>{
//   console.log('close事件')
// })
// end方法调用后，表示写入操作执行完毕
ws.end('世界和平')
// ws.write('2')

// error事件，如果write输入参数错误不会被该事件捕获
ws.on('error', (err)=>{
  console.log('error事件')
})

